SourceWeave.NET: Cross-Language Aspect-Oriented Programming
نویسندگان
چکیده
Aspect-Oriented Programming (AOP) addresses limitations in the Object-Oriented (OO) paradigm relating to modularisation of crosscutting behaviour. In AOP, crosscutting behaviour is expressed as aspects that are integrated with a base program through a weaving process. Many language-specific AOP models already exist, requiring the programmer to work with a single language for base and aspect programs. The .NET framework, with its multilanguage standards and architecture, has presented a new opportunity for crosslanguage AOP within .NET. Advances have been made to take advantage of this opportunity, but at the expense of qualities such as the ability to debug executing code, or define some kinds of weaving capabilities. This paper describes an investigation into providing cross-language AOP in .NET without making such compromises. The approach, called SourceWeave.NET, allows debugging because it weaves source code, and also provides an extensive weaving model. We describe what can be learned from SourceWeave.NET, in terms of both its benefits, and also its limitations.
منابع مشابه
Aspect-Oriented Programming for Reactive Systems: a Proposal in the Synchronous Framework
Aspect-Oriented Programming (AOP) has emerged recently as a language concept for expressing cross-cutting concerns, mainly in object-oriented software. Since then, the concept has been applied to a wide variety of other contexts. In this paper, we explore some cross-cutting concerns for parallel programs of reactive systems: we propose a notion of aspect and a weaving mechanism, in a core langu...
متن کاملAspect-oriented programming for reactive systems: Larissa, a proposal in the synchronous framework
Aspect-Oriented Programming (AOP) has emerged recently as a language concept for expressing cross-cutting concerns, mainly in object-oriented software. Since then, the concept has been applied to a wide variety of other contexts. In this paper, we explore some cross-cutting concerns for parallel programs of reactive systems: we propose an aspect language, Larissa, and a weaving mechanism, in a ...
متن کاملCCC: An Aspect-Oriented Intermediate Language on .Net Platform
The AOSD tools and methodologies have developed in a rapid speed in Java area. However, no matter how homologous .Net and Java are, AOP tools on .Net platform are still in experimental stage. The complex infrastructure and multi-language support make it hard to establish aspect-oriented programming on .Net. Microsoft provides Microsoft Intermediate Language(MSIL) to facilitate language implemen...
متن کاملGenerating Aspect Code from UML Models
This position paper presents a concept for aspect-oriented design and a seamless integration of AO design and implementation. We suggest a design notation based on standard UML which separates clearly the reusable programming language independent design of aspect code and base (business logic) code from the language dependant cross-cutting parts. Thus fostering reuse of aspect code and simplify...
متن کاملWeaving in Role-Based Aspect-Oriented Design Models
Aspect-oriented modeling deals with cross-cutting concerns at early stages of the software development. Weaving involves highly abstract aspect descriptions, and it is necessary to take into account application specific constraints. We adopt a role-based aspect-oriented modeling method and define a notion of the aspect weaving in a systematic way. We further discuss how we use Alloy, a lightwei...
متن کامل